package com.naizhuai.network.apistore;

import com.naizhuai.ui.entity.CommonLabel;
import com.naizhuai.ui.entity.AddQuestion;
import com.naizhuai.ui.entity.AddTask;
import com.naizhuai.ui.entity.AddTaskPage;
import com.naizhuai.ui.entity.NormalQAPage;
import com.naizhuai.ui.entity.StepJoin;
import com.naizhuai.ui.entity.StepSettingBean;
import com.naizhuai.ui.entity.Task.AddTaskFlowPage;
import com.naizhuai.ui.entity.Task.FlowMethodDetial;
import com.naizhuai.ui.entity.Task.BehaviorRecommendation;
import com.naizhuai.ui.entity.Task.TaskChartData;
import com.naizhuai.ui.entity.TaskDetialEntity;
import com.naizhuai.ui.entity.TaskFlowMethod;
import com.naizhuai.ui.entity.TaskListBean;
import com.naizhuai.ui.entity.TempImgBean;
import com.naizhuai.ui.entity.UserLeader;

import java.util.List;

import rx.Observable;

/**
 * @author：lichenxi
 * @date 2018/4/2 19
 * email：525603977@qq.com
 * Fighting
 */
public interface TaskActionApiStore {
    //获取流程方法以及模板
    Observable<TaskFlowMethod> getTaskFlowList();

    //获取公司标尺设置
    Observable<AddTaskPage> getAddTaskPage(String companyId, String goalid);

    Observable<String> addTaskPage(AddTask addTask);


    Observable<List<UserLeader>> User_Leader(String id);
    //任务列表
    Observable<TaskListBean> getTask_List(String companyId);

    //获取任务详情
    Observable<TaskDetialEntity> task_detail(String taskId);

    // 获取环节方法内容
    Observable<List<FlowMethodDetial>>task_flow_method_detail(String methodId);

    // 添加流程页面
    Observable<AddTaskFlowPage>add_task_flow_page(String taskId, String companyId);

    // 添加任务流程
    Observable<String>add_task_flow(String taskId, String flowData);

    //环节负责人设置环节内容页面
    Observable<StepSettingBean> leader_set_task_flow_page(String taskFlowId);

    //环节负责人设置环节内容

    Observable<String>  leader_set_task_flow(String taskFlowId, String imageUrl,
                                             String detail, String stepName,
                                             String circleType);
    //环节参与页面
    Observable<StepJoin>  task_flow_joined(String taskFlowId);

    //添加问题的页面
    Observable<NormalQAPage>  normal_question_page(String questionId,String schemeId);

    //新增问题
    Observable<String>  add_normal_question(AddQuestion addQuestion);

    //接受问题
    Observable<String>  receive_question(String questionId,String descLabel,String schemeId);

    //新增问题
    Observable<List<CommonLabel>> sub_label_list(String labelId);

    Observable<List<BehaviorRecommendation>> label_question_search(String title, String labels);

    //临时接口 只是作为展示用
    Observable<TempImgBean> get_scheme_image(String schemeId);

    //添加任务数据页面
    Observable<List<TaskChartData>> task_data_page(String taskid);

    //添加任务数据
    Observable<String> add_task_data_page(String taskid,String chartData);

}
